﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Text;

namespace Wicresoft.Task.Team.Entity
{
    public class ShelveInfo
    {
        [Key]
        [Required]
        public int ShelvesetId { get; set; }

        [Required]
        [StringLength(100)]
        public string Name { get; set; }

        [Required]
        [StringLength(50)]
        public string OwnerName { get; set; }

        [Required]
        public DateTime CreationDate { get; set; }

        [StringLength(500)]
        public string Comment { get; set; }

        [StringLength(100)]
        public string CodeReviewer { get; set; }

        [Required]
        public bool IsApproved { get; set; }

        [Required]
        public bool IsCheck { get; set; }

        [Required]
        [DefaultValue(false)]
        public bool IsAlreadyCheckin { get; set; }

        [Required]
        [DefaultValue(false)]
        public bool IsCheckinError { get; set; }

        public DateTime CreatedTime { get; set; }

        [Required]
        [ForeignKey("ProjectCollectionId")]
        public int ProjectCollectionId { get; set; }

        public virtual List<ChangeListInfo> ChangeSetInfoes { get; set; }
        public virtual List<WorkItemInfo> WorkItemInfoes { get; set; }
        public virtual ProjectCollection ProjectCollection { get; set; }
    }
}
